<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html lang=en>
 <head>
  <title>Cascading Style Sheets (CSS) Snapshot 2007</title>
  <!-- <link rel="stylesheet" type="text/css" href="default.css"> -->
  <link href="https://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet
  type="text/css">

 <body>
  <div class=head> <!--begin-logo-->
   <p><a href="http://www.w3.org/"><img alt=W3C height=48
    src="https://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo-->

   <h1>Cascading Style Sheets (CSS) Snapshot 2007</h1>

   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 9 May 2011</h2>

   <dl>
    <dt>This version:</dt>
    <!-- <dd><a href="http://www.w3.org/TR/2011/NOTE-css-beijing-20110509/">http://www.w3.org/TR/2011/ED-css-2007-20110509/</a></dd> -->

    <dd><a
     href="http://dev.w3.org/csswg/css-2007/">http://dev.w3.org/csswg/css-2007/</a>

    <dt>Latest version:

    <dd><a
     href="http://www.w3.org/TR/css-beijing/">http://www.w3.org/TR/css-beijing/</a>

    <dt>Previous versions:

    <dd><a
     href="http://www.w3.org/TR/2010/WD-css-beijing-20100727/">http://www.w3.org/TR/2010/WD-css-beijing-20100727/</a>

    <dd><a
     href="http://www.w3.org/TR/2001/WD-css3-roadmap-20010523/">http://www.w3.org/TR/2001/WD-css3-roadmap-20010523/</a>

    <dt>Editor:

    <dd><a href="http://fantasai.inkedblade.net/contact">Elika J. Etemad</a>
   </dl>
   <!--begin-copyright-->
   <p class=copyright><a
    href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    rel=license>Copyright</a> &copy; 2011 <a
    href="http://www.w3.org/"><acronym title="World Wide Web
    Consortium">W3C</acronym></a><sup>&reg;</sup> (<a
    href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute
    of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym
    title="European Research Consortium for Informatics and
    Mathematics">ERCIM</acronym></a>, <a
    href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
    href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
    <a
    href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
    and <a
    href="http://www.w3.org/Consortium/Legal/copyright-documents">document
    use</a> rules apply.</p>
   <!--end-copyright-->
   <hr title="Separator for header">
  </div>

  <h2 class="no-num no-toc" id=abstract>Abstract</h2>

  <p>This document collects together into one definition all the specs that
   together form the current state of Cascading Style Sheets (CSS) as of
   2007. The primary audience is CSS implementors, not CSS authors, as this
   definition includes modules by specification stability, not Web browser
   adoption rate.

  <h2 class="no-num no-toc" id=status>Status of this document</h2>
  <!--begin-status-->

  <p>This is a public copy of the editors' draft. It is provided for
   discussion only and may change at any moment. Its publication here does
   not imply endorsement of its contents by W3C. Don't cite this document
   other than as work in progress.

  <p>The (<a
   href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public
   mailing list <a
   href="mailto:www-style@w3.org?Subject=%5Bcss-2007%5D%20PUT%20SUBJECT%20HERE">
   www-style@w3.org</a> (see <a
   href="http://www.w3.org/Mail/Request">instructions</a>) is preferred for
   discussion of this specification. When sending e-mail, please put the text
   &#8220;css-2007&#8221; in the subject, preferably like this:
   &#8220;[<!---->css-2007<!---->] <em>&hellip;summary of
   comment&hellip;</em>&#8221;

  <p>This document was produced by the <a href="/Style/CSS/members">CSS
   Working Group</a> (part of the <a href="/Style/">Style Activity</a>).

  <p>This document was produced by a group operating under the <a
   href="/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
   Policy</a>. W3C maintains a <a href="/2004/01/pp-impl/32061/status"
   rel=disclosure>public list of any patent disclosures</a> made in
   connection with the deliverables of the group; that page also includes
   instructions for disclosing a patent. An individual who has actual
   knowledge of a patent which the individual believes contains <a
   href="/Consortium/Patent-Policy-20040205/#def-essential">Essential
   Claim(s)</a> must disclose the information in accordance with <a
   href="/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the
   W3C Patent Policy</a>.</p>
  <!--end-status-->

  <p>This document represents the state of CSS as of 2007. The CSS Working
   Group does not expect any further changes to this document: new snapshots
   will be published at <a
   href="http://www.w3.org/TR/CSS/">http://www.w3.org/TR/CSS/</a> as CSS
   advances.

  <nav id="toc">
  <h2 class="no-num no-toc" id=contents>Table of contents</h2>
  <!--begin-toc-->

  <ul class=toc>
   <li><a href="#intro"><span class=secno>1. </span>Introduction</a>
    <ul class=toc>
     <li><a href="#w3c-process"><span class=secno>1.1. </span>The W3C Process
      and CSS</a>
    </ul>

   <li><a href="#css-levels"><span class=secno>2. </span>CSS Levels</a>
    <ul class=toc>
     <li><a href="#css1"><span class=secno>2.1. </span>CSS Level 1</a>

     <li><a href="#css2"><span class=secno>2.2. </span>CSS Level 2</a>

     <li><a href="#css3"><span class=secno>2.3. </span>CSS Level 3</a>
    </ul>

   <li><a href="#css"><span class=secno>3. </span>Cascading Style Sheets
    Definition</a>
    <ul class=toc>
     <li><a href="#partial"><span class=secno>3.1. </span>Partial
      Implementations</a>

     <li><a href="#profiles"><span class=secno>3.2. </span>CSS Profiles</a>

     <li><a href="#experimental"><span class=secno>3.3. </span>Experimental
      Implementations</a>
    </ul>
  </ul>
  <!--end-toc-->
  </nav>

  <h2 id=intro><span class=secno>1. </span>Introduction</h2>

  <p>When the first CSS specification was published, all of CSS was contained
   in one document that defined CSS Level 1. CSS Level 2 was defined also by
   a single, multi-chapter document. However for CSS beyond Level 2, the CSS
   Working Group chose to adopt a modular approach, where each module defines
   a part of CSS, rather than to define a single monolithic specification.
   This breaks the specification into more manageable chunks and allows more
   immediate, incremental improvement to CSS.

  <p>Since different CSS modules are at different levels of stability, the
   CSS Working Group has chosen to publish this profile to define the current
   scope and state of Cascading Style Sheets as of late 2007. This profile
   includes only specifications that we consider stable <em>and</em> for
   which we have enough implementation experience that we are sure of that
   stability.

  <p>Note that this is not intended to be a CSS Desktop Browser Profile:
   inclusion in this profile is based on feature stability only and not on
   expected use or Web browser adoption. This profile defines CSS in its most
   complete form.

  <p>Note also that although we don't anticipate significant changes to the
   specifications that form this snapshot, their inclusion does are not mean
   they are frozen. The Working Group will continue to address problems as
   they are found in these specs. Implementers should monitor <a
   href="http://lists.w3.org/Archives/Public/www-style/">www-style</a> and/or
   the <a href="http://www.w3.org/blog/CSS">CSS Working Group Blog</a> for
   any resulting changes, corrections, or clarifications.

  <h3 id=w3c-process><span class=secno>1.1. </span>The W3C Process and CSS</h3>

  <p><em>This section is non-normative.</em>

  <p>In the <a href="http://www.w3.org/2005/10/Process-20051014/">W3C
   Process</a>, a Recommendation-track document passes through five levels of
   stability, summarized below:

  <dl style="list-style-type: decimal">
   <dt>Working Draft (WD)

   <dd>Published during the process of drafting the specification, the
    purpose of a public Working Draft is to create a snapshot of the
    specification's current state and to solicit input from the W3C and the
    public. The document is known to be unstable, and is often incomplete.

   <dt>Last Call Working Draft (LC or LCWD)

   <dd>By publishing a Last Call Working Draft, a working group is expressing
    that they consider the spec to be complete and all issues to be resolved.
    Publishing a Last Call Working Draft announces that this specification
    will move toward Candidate Recommendation unless significant issues are
    brought up. The Last Call period is a last chance for others to submit
    issues before the transition to CR.

   <dt>Candidate Recommendation (CR)

   <dd>By publishing a Candidate Recommendation, a working group is
    expressing that have resolved all known issues and they believe the spec
    is ready for implementation.

   <dt>Proposed Recommendation (PR)

   <dd>To exit CR and enter this stage, the spec needs a comprehensive test
    suite and implementation reports proving that every feature in the spec
    is interoperably implemented in at least two shipping implementations.
    Entering the Proposed Recommendation stage signals to the W3C that these
    requirements have been met. Once the W3C officially approves the
    specification, it becomes a Recommendation.

   <dt>Recommendation (REC)

   <dd>This is the final stage. At this point there should need to be no more
    changes.
  </dl>

  <p>In the CSSWG's experience, the recommendation track is not linear. The
   wider review triggered by an LCWD often results in at least another
   working draft, possibly several. More significantly, our experience is
   that many specs enter CR twice, because implementation testing often
   uncovers significant problems in the spec and thus pushes it back to
   working draft. Additionally, fixing even minor problems forces a CR to
   re-enter the Working Draft stage. As a result, although the CSSWG has a
   clear idea of the stability of the CSS specs, it is very difficult for
   someone outside the working group to come to that same understanding based
   on a specification's official status. The CSS Working Group's motivation
   for creating this document is thus to communicate to others our
   understanding of the state of CSS.

  <h2 id=css-levels><span class=secno>2. </span>CSS Levels</h2>

  <p>Cascading Style Sheets does not have versions in the traditional sense;
   instead it has <dfn id=levels>levels</dfn>. Each level of CSS builds on
   the previous, refining definitions and adding features. The feature set of
   each higher level is a superset of any lower level, and the behavior
   allowed for a given feature in a higher level is a subset of that allowed
   in the lower levels. A user agent conforming to a higher level of CSS is
   thus also conformant to all lower levels.

  <h3 id=css1><span class=secno>2.1. </span>CSS Level 1</h3>

  <p>The CSS Working Group considers the <a
   href="http://www.w3.org/TR/2008/REC-CSS1-20080411/">CSS1 specification</a>
   to be obsolete. <dfn id=css-level-1>CSS Level 1</dfn> is defined as all
   the features defined in the CSS1 specification (properties, values,
   at-rules, etc), but using the syntax and definitions in the <a
   href="http://www.w3.org/TR/CSS21/">CSS2.1 specification</a>. <a
   href="http://www.w3.org/TR/css-style-attr/">CSS Style Attributes</a>
   defines its inclusion in element-specific style attributes.

  <h3 id=css2><span class=secno>2.2. </span>CSS Level 2</h3>

  <p>Although the <a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/">CSS2
   specification</a> is technically a W3C Recommendation, it passed into the
   Recommendation stage before the W3C had defined the Candidate
   Recommendation stage. Over time implementation experience and further
   review has brought to light many problems in the CSS2 specification, so
   instead of expanding an already <a
   href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html">unwieldy
   errata list</a>, the CSS Working Group chose to define <cite>CSS Level 2
   Revision 1</cite> (CSS2.1). In case of any conflict between the two specs
   CSS2.1 contains the definitive definition.

  <p>Once CSS2.1 became Candidate Recommendation&#8212;effectively though not
   officially the same level of stability as CSS2&#8212;obsoleted the CSS2
   Recommendation. Features in CSS2 that were dropped from CSS2.1 should be
   considered to be at the Candidate Recommendation stage, but note that many
   of these have been or will be pulled into a CSS Level 3 working draft, in
   which case that specification will, once it reaches CR, obsolete the
   definitions in CSS2.

  <p>The <a href="http://www.w3.org/TR/CSS21/">CSS2.1 specification</a>
   defines <dfn id=css-level-2>CSS Level 2</dfn> and the <a
   href="http://www.w3.org/TR/css-style-attr/">CSS Style Attributes
   specification</a> defines its inclusion in element-specific style
   attributes.

  <h3 id=css3><span class=secno>2.3. </span>CSS Level 3</h3>

  <p><em>This section is non-normative.</em>

  <p>CSS Level 3 builds on CSS Level 2 module by module, using the CSS2.1
   specification as its core. Each module adds functionality and/or replaces
   part of the CSS2.1 specification. The CSS Working Group intends that the
   new CSS modules will not contradict the CSS2.1 specification: only that
   they will add functionality and refine definitions. As each module is
   completed, it will be plugged in to the existing system of CSS2.1 plus
   previously-completed modules.

  <p>From this level on modules are levelled independently: for example
   Selectors Level 4 may well be defined before CSS Line Module Level 3.

  <h2 id=css><span class=secno>3. </span>Cascading Style Sheets Definition</h2>

  <p>As of 2007, <dfn id=cascading-style-sheets-css>Cascading Style Sheets
   (CSS)</dfn> is defined by the following specifications.

  <ol>
   <li><a href="http://www.w3.org/TR/CSS21/">CSS Level 2 Revision 1</a>
    (including errata)

   <li><a href="http://www.w3.org/TR/css-style-attr/">CSS Style
    Attributes</a>

   <li><a href="http://www.w3.org/TR/css3-namespace/">CSS Namespaces</a>

   <li><a href="http://www.w3.org/TR/css3-selectors/">Selectors Level 3</a>

   <li><a href="http://www.w3.org/TR/css3-color/">CSS Color Level 3</a>
  </ol>

  <h3 id=partial><span class=secno>3.1. </span>Partial Implementations</h3>

  <p>So that authors can exploit the forward-compatible parsing rules to
   assign fallback values, CSS renderers <strong>must</strong> treat as
   invalid (and <a
   href="http://www.w3.org/TR/CSS21/conform.html#ignore">ignore as
   appropriate</a>) any at-rules, properties, property values, keywords, and
   other syntactic constructs for which they have no usable level of support.
   In particular, user agents <strong>must not</strong> selectively ignore
   unsupported property values and honor supported values in a single
   multi-value property declaration: if any value is considered invalid (as
   unsupported values must be), CSS requires that the entire declaration be
   ignored.

  <h3 id=profiles><span class=secno>3.2. </span>CSS Profiles</h3>

  <p>Not all implementations will implement all functionality defined in CSS.
   For example, an implementation may choose to implement only the
   functionality required by a CSS Profile. Profiles define a subset of CSS
   considered fundamental for a specific class of CSS implementations. The
   W3C CSS Working Group defines the following CSS profiles:

  <ul>
   <li><a href="http://www.w3.org/TR/css-mobile/">CSS Mobile Profile 2.0</a>

   <li><a href="http://www.w3.org/TR/css-print/">CSS Print Profile 1.0</a>

   <li><a href="http://www.w3.org/TR/css-tv">CSS TV Profile 1.0</a>
  </ul>

  <h3 id=experimental><span class=secno>3.3. </span>Experimental
   Implementations</h3>

  <p>To avoid clashes with future CSS features, the CSS2.1 specification
   reserves a <a
   href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed
   syntax</a> for proprietary property and value extensions to CSS. The CSS
   Working Group recommends that experimental implementations of features in
   CSS Working Drafts also use vendor-prefixed property and value names. This
   avoids any incompatibilities with future changes in the draft. Once a
   specification reaches the Candidate Recommendation stage, implementors
   should implement the non-prefixed syntax for any feature they can
   demonstrate to be correctly implemented according to spec.
